package com.ruoyi.supervise.service;

import java.util.List;

import com.ruoyi.supervise.domain.CompanyPoorInfoEntuty;
import com.ruoyi.supervise.domain.CompanyWellInfoEntity;
import com.ruoyi.supervise.domain.Enterprise;
import com.ruoyi.supervise.domain.IGMAuditRecord;
import com.ruoyi.supervise.domain.IGMBehavioStandard;
import com.ruoyi.supervise.domain.IGMCompanyPoorInfo;
import com.ruoyi.supervise.domain.IGMCompanyWellInfo;
import com.ruoyi.supervise.domain.IGMIntegrityApplyInfo;
import com.ruoyi.supervise.domain.IGMPersonalPoorInfo;
import com.ruoyi.supervise.domain.IGMPersonalWellInfo;
import com.ruoyi.supervise.domain.PersonalPoorInfoEntity;
import com.ruoyi.supervise.domain.PersonalWellInfoEntity;
import com.ruoyi.supervise.domain.StandardEntity;

/**
 * @ClassName: IIntegrityInformationAddService
 * @Description: 行为登记service
 * @Author wtj
 * @DateTime 2020年6月4日 下午2:45:35
 */
public interface IIntegrityInformationAddService 
{
	/**
	 * @Title: selectIGMBehavioStandardList
	 * @Description: 获取行为标准信息
	 * @Author wtj
	 * @DateTime 2020年6月4日 下午3:48:45
	 * @param igmbs
	 * @return
	 */
	public List<IGMBehavioStandard> selectIGMBehavioStandardList(IGMBehavioStandard igmbs);
	
	/**
	 * @Title: selectEnterGoodIGMIntegrityApplyInfoList
	 * @Description: 获取企业良好行为登记信息
	 * @Author wtj
	 * @DateTime 2020年6月4日 下午3:48:49
	 * @param igmai
	 * @return
	 */
	public List<IGMIntegrityApplyInfo> selectEnterGoodIGMIntegrityApplyInfoList(IGMIntegrityApplyInfo igmai);
	
	/**
	   * @Title: selectIGMIntegrityApplyInfoPunishObject
	   * @Description: 根据认定类型查询出全部的行为认定对象
	   * @Author wtj
	   * @DateTime 2020年6月4日 下午6:11:47
	   * @param identifyType
	   * @return
	   */
	  public List<String> selectIGMIntegrityApplyInfoPunishObject(String identifyType);
	  
	  /**
	   * @Title: selectIGMBehavioStandardByGuid
	   * @Description: 根据标识符查询行为标准信息
	   * @Author wtj
	   * @DateTime 2020年6月5日 下午2:53:15
	   * @param guid
	   * @return
	   */
	  public IGMBehavioStandard selectIGMBehavioStandardByGuid(String guid);
	  
	  /**
	   * @Title: sumEnterGoodAddedScores
	   * @Description: 计算企业良好行为中企业在某一个行为的已加分数
	   * @Author wtj
	   * @DateTime 2020年6月5日 下午2:54:06
	   * @param igmcwi
	   * @return
	   */
	  public String sumEnterGoodAddedScores(IGMCompanyWellInfo igmcwi);
	  
	  /**
	   * @Title: enterTableList
	   * @Description: 选择企业table
	   * @Author wtj
	   * @DateTime 2020年6月5日 下午3:25:06
	   * @param enter
	   * @return
	   */
	  public List<Enterprise> enterTableList(Enterprise enter);
	  
	  /**
	   * @Title: enterprisesGoodBehaviorSaveAndReport
	   * @Description: 保存，上报企业良好行为
	   * @Author wtj
	   * @DateTime 2020年6月9日 上午9:57:59
	   * @param cwie
	   * @return
	   */
	  public int enterprisesGoodBehaviorSaveAndReport(CompanyWellInfoEntity cwie,String MaxScores);
	  
	  /**
	   * @Title: selectIGMIntegrityApplyInfoByGuid
	   * @Description: 根据标识符获取行为登记信息
	   * @Author wtj
	   * @DateTime 2020年6月10日 上午10:51:46
	   * @param guid
	   * @return
	   */
	  public IGMIntegrityApplyInfo selectIGMIntegrityApplyInfoByGuid(String guid);
	  
	  /**
	   * @Title: updateEnterprisesGoodBehavior
	   * @Description: 更新企业良好行为
	   * @Author wtj
	   * @DateTime 2020年6月10日 下午5:14:50
	   * @param cwie 传入xml的实体
	   * @param type 0表示是从文件上传接口进入的方法，1表示是从普通的表单提交进入的方法
	   * @return
	   */
	  public int updateEnterprisesGoodBehavior(CompanyWellInfoEntity cwie,int type,String MaxScores);
	  
	  /**
	   * @Title: selectEnterBadIGMIntegrityApplyInfoList
	   * @Description: 获取企业不良行为登记信息
	   * @Author wtj
	   * @DateTime 2020年6月10日 下午6:12:19
	   * @param igmai
	   * @return
	   */
	  public List<IGMIntegrityApplyInfo> selectEnterBadIGMIntegrityApplyInfoList(IGMIntegrityApplyInfo igmai);
	  
	  /**
	   * @Title: enterprisesBadBehaviorSaveAndReport
	   * @Description: 保存，上报企业不良行为
	   * @Author wtj
	   * @DateTime 2020年6月11日 下午3:09:24
	   * @param cpie
	   * @return
	   */
	  public int enterprisesBadBehaviorSaveAndReport(CompanyPoorInfoEntuty cpie,String MaxScores);
	  
	  /**
	   * @Title: selectStandardEntityByGuid
	   * @Description: 根据标识符查询行为标准信息
	   * @Author wtj
	   * @DateTime 2020年6月12日 上午10:47:34
	   * @param guid
	   * @return
	   */
	  public StandardEntity selectStandardEntityByGuid(String guid);
	  
	  /**
	   * @Title: updateEnterprisesBadBehavior
	   * @Description: 更新企业不良行为
	   * @Author wtj
	   * @DateTime 2020年6月12日 下午2:33:57
	   * @param cpie
	   * @param type 0表示是从文件上传接口进入的方法，1表示是从普通的表单提交进入的方法
	   * @return
	   */
	  public int updateEnterprisesBadBehavior(CompanyPoorInfoEntuty cpie,int type,String MaxScores);
	  
	  /**
	   * @Title: selectPeopleGoodIGMIntegrityApplyInfoList
	   * @Description: 获取人员良好行为登记信息
	   * @Author wtj
	   * @DateTime 2020年6月15日 上午9:15:00
	   * @param igmai
	   * @return
	   */
	  public List<IGMIntegrityApplyInfo> selectPeopleGoodIGMIntegrityApplyInfoList(IGMIntegrityApplyInfo igmai);
	  
	  /**
	   * @Title: sumEnterBadAddedScores
	   * @Description: 计算企业不良行为中企业在某一个行为的已加分数
	   * @Author wtj
	   * @DateTime 2020年6月15日 下午3:57:39
	   * @param igmcpi
	   * @return
	   */
	  public String sumEnterBadAddedScores(IGMCompanyPoorInfo igmcpi);
	  
	  /**
	   * @Title: sumPeopleGoodAddedScores
	   * @Description: 计算人员良好行为中企业在某一个行为的已加分数
	   * @Author wtj
	   * @DateTime 2020年6月15日 下午5:20:08
	   * @param igmpwi
	   * @return
	   */
	  public String sumPeopleGoodAddedScores(IGMPersonalWellInfo igmpwi);
	  
	  /**
	   * @Title: personBadBehaviorSaveAndReport
	   * @Description: 保存，上报人员良好行为
	   * @Author wtj
	   * @DateTime 2020年6月16日 上午9:00:40
	   * @param pwie
	   * @return
	   */
	  public int personGoodBehaviorSaveAndReport(PersonalWellInfoEntity pwie,String MaxScores);
	  
	  /**
	   * @Title: updatepersonsGoodBehavior
	   * @Description: 更新人员良好行为
	   * @Author wtj
	   * @DateTime 2020年6月16日 上午11:26:19
	   * @param pwie
	   * @param type 0表示是从文件上传接口进入的方法，1表示是从普通的表单提交进入的方法
	   * @return
	   */
	  public int updatepersonsGoodBehavior(PersonalWellInfoEntity pwie,int type,String MaxScores);
	  
	  /**
	   * @Title: selectPeopleBadIGMIntegrityApplyInfoList
	   * @Description: 获取人员不良行为登记信息
	   * @Author wtj
	   * @DateTime 2020年6月16日 下午6:13:07
	   * @param igmai
	   * @return
	   */
	  public List<IGMIntegrityApplyInfo> selectPeopleBadIGMIntegrityApplyInfoList(IGMIntegrityApplyInfo igmai);
	  
	  /**
	   * @Title: sumPeopleBadAddedScores
	   * @Description: 计算人员不良行为中人员在某一个行为的已加分数
	   * @Author wtj
	   * @DateTime 2020年6月17日 下午4:33:26
	   * @param igmppi
	   * @return
	   */
	  public String sumPeopleBadAddedScores(IGMPersonalPoorInfo igmppi);
	  
	  /**
	   * @Title: personBadBehaviorSaveAndReport
	   * @Description: 保存，上报人员不良行为
	   * @Author wtj
	   * @DateTime 2020年6月17日 下午4:56:13
	   * @param ppie
	   * @return
	   */
	  public int personBadBehaviorSaveAndReport(PersonalPoorInfoEntity ppie,String MaxScores);
	  
	  /**
	   * @Title: updatePeopleBadBehavior
	   * @Description: 更新人员不良行为登记信息
	   * @Author wtj
	   * @DateTime 2020年6月18日 上午11:25:49
	   * @param ppie
	   * @param type 0表示是从文件上传接口进入的方法，1表示是从普通的表单提交进入的方法
	   * @param MaxScores
	   * @return
	   */
	  public int updatePeopleBadBehavior(PersonalPoorInfoEntity ppie,int type,String MaxScores);
	  
	  /**
	   * @Title: enterprisesGoodBehaviorApprove
	   * @Description: 企业良好行为审批
	   * @Author wtj
	   * @DateTime 2020年6月19日 上午11:11:20
	   * @return
	   */
	  public int enterprisesGoodBehaviorApprove(CompanyWellInfoEntity cwie,String reasonContent);
	  
	  /**
	   * @Title: enterprisesBadBehaviorApprove
	   * @Description: 企业不良行为审批
	   * @Author wtj
	   * @DateTime 2020年6月19日 下午6:04:18
	   * @param cpie
	   * @param reasonContent
	   * @return
	   */
	  public int enterprisesBadBehaviorApprove(CompanyPoorInfoEntuty cpie,String reasonContent);
	  
	  /**
	   * @Title: peopleGoodBehaviorApprove
	   * @Description: 人员良好行为审批
	   * @Author wtj
	   * @DateTime 2020年6月22日 下午5:24:48
	   * @param pwie
	   * @param reasonContent
	   * @return
	   */
	  public int peopleGoodBehaviorApprove(PersonalWellInfoEntity pwie,String reasonContent);
	  
	  /**
	   * @Title: peopleBadBehaviorApprove
	   * @Description: 人员不良行为审批
	   * @Author wtj
	   * @DateTime 2020年6月23日 上午10:17:38
	   * @param ppie
	   * @param reasonContent
	   * @return
	   */
	  public int peopleBadBehaviorApprove(PersonalPoorInfoEntity ppie,String reasonContent);
	  
	  public int insertIGMPersonalPoorInfo(PersonalPoorInfoEntity ppie);
	  
	  /**
	   * @Title: enterprisesGoodBehaviorUndoSaveAndReport
	   * @Description: 企业良好行为登记撤销申请的保存，上报
	   * @Author wtj
	   * @DateTime 2020年6月24日 下午2:54:23
	   * @param cwie
	   * @return
	   */
	  public int enterprisesGoodBehaviorUndoSaveAndReport(CompanyWellInfoEntity cwie);
	  
	  /**
	   * @Title: enterprisesGoodBehaviorUndoSaveAndReportUpdate
	   * @Description: 编辑企业良好行为的撤销申请
	   * @Author wtj
	   * @DateTime 2020年6月24日 下午5:16:14
	   * @param cwie
	   * @return
	   */
	  public int enterprisesGoodBehaviorUndoSaveAndReportUpdate(CompanyWellInfoEntity cwie);
	  
	  /**
	   * @Title: enterprisesGoodBehaviorUndoApprove
	   * @Description: 企业良好行为撤销的审批
	   * @Author wtj
	   * @DateTime 2020年6月28日 上午9:39:19
	   * @param cwie
	   * @param reasonContent
	   * @return
	   */
	  public int enterprisesGoodBehaviorUndoApprove(CompanyWellInfoEntity cwie,String reasonContent);
	  
	  /**
	   * @Title: enterprisesBadBehaviorUndoSaveAndReport
	   * @Description: 企业不良行为登记撤销申请的保存，上报
	   * @Author wtj
	   * @DateTime 2020年6月28日 下午5:49:50
	   * @param cpie
	   * @return
	   */
	  public int enterprisesBadBehaviorUndoSaveAndReport(CompanyPoorInfoEntuty cpie);
	  
	  /**
	   * @Title: enterprisesBadBehaviorUndoSaveAndReportUpdate
	   * @Description: 编辑企业不良行为的撤销申请
	   * @Author wtj
	   * @DateTime 2020年6月28日 下午5:50:52
	   * @param cpie
	   * @return
	   */
	  public int enterprisesBadBehaviorUndoSaveAndReportUpdate(CompanyPoorInfoEntuty cpie);
	  
	  /**
	   * @Title: enterprisesBadBehaviorUndoApprove
	   * @Description: 企业不良行为撤销的审批
	   * @Author wtj
	   * @DateTime 2020年6月28日 下午5:51:41
	   * @param cpie
	   * @param reasonContent
	   * @return
	   */
	  public int enterprisesBadBehaviorUndoApprove(CompanyPoorInfoEntuty cpie,String reasonContent);
	  
	  /**
	   * @Title: selectIGMCompanyWellInfoByDateadd
	   * @Description: 根据企业统一社会信用代码来查询出该企业撤销的，还没有经过一年的记录
	   * @Author wtj
	   * @DateTime 2020年6月28日 下午2:22:15
	   * @param organCode
	   * @return
	   */
	  public List<String> selectIGMCompanyWellInfoByDateadd(String organCode);
	  
	  /**
	   * @Title: judgeQualificationsUndo
	   * @Description: 判断该企业的资质的良好行为是否已经被撤销
	   * @Author wtj
	   * @DateTime 2020年6月28日 下午2:32:46
	   * @param organCode 企业统一社会信用代码
	   * @param qualif 企业资质
	   * @return
	   */
	  public boolean judgeQualificationsUndo(String organCode,String qualif);
	  
	  /**
	   * @Title: selectIGMCompanyPoorInfoByDateadd
	   * @Description: 根据企业统一社会信用代码来查询出该企业撤销的，还没有经过一年的记录(企业不良行为)
	   * @Author wtj
	   * @DateTime 2020年7月6日 下午5:38:11
	   * @param organCode
	   * @return
	   */
	  public List<String> selectIGMCompanyPoorInfoByDateadd(String organCode);
	  
	  /**
	   * @Title: judgeQualificationsUndoPoor
	   * @Description: 判断该企业的资质的不良行为是否已经被撤销
	   * @Author wtj
	   * @DateTime 2020年7月6日 下午5:44:09
	   * @param organCode
	   * @param qualif
	   * @return
	   */
	  public boolean judgeQualificationsUndoPoor(String organCode,String qualif);
	  
	  /**
	   * @Title: peopleGoodBehaviorUndoSaveAndReport
	   * @Description: 人员良好行为登记撤销申请的保存，上报
	   * @Author wtj
	   * @DateTime 2020年7月7日 上午10:21:54
	   * @param pwie
	   * @return
	   */
	  public int peopleGoodBehaviorUndoSaveAndReport(PersonalWellInfoEntity pwie);
	  
	  /**
	   * @Title: peopleGoodBehaviorUndoSaveAndReportUpdate
	   * @Description: 编辑人员良好行为的撤销申请
	   * @Author wtj
	   * @DateTime 2020年7月7日 上午10:51:45
	   * @param pwie
	   * @return
	   */
	  public int peopleGoodBehaviorUndoSaveAndReportUpdate(PersonalWellInfoEntity pwie);
	  
	  /**
	   * @Title: peopleGoodBehaviorUndoApprove
	   * @Description: 人员良好行为撤销的审批
	   * @Author wtj
	   * @DateTime 2020年7月7日 下午2:18:41
	   * @param pwie
	   * @param reasonContent
	   * @return
	   */
	  public int peopleGoodBehaviorUndoApprove(PersonalWellInfoEntity pwie,String reasonContent);
	  
	  /**
	   * @Title: selectIGMPersonalWellInfoByDateadd
	   * @Description: 根据身份证号码来查询出该人员撤销的，还没有经过一年的记录(人员良好行为)
	   * @Author wtj
	   * @DateTime 2020年7月7日 下午3:44:08
	   * @param organCode
	   * @return
	   */
	  public List<String> selectIGMPersonalWellInfoByDateadd(String idcard);
	  
	  /**
	   * @Title: judgeQualificationsUndoPeopleWell
	   * @Description: 判断该人员的资质的良好行为是否已经被撤销
	   * @Author wtj
	   * @DateTime 2020年7月7日 下午3:48:57
	   * @param idcard
	   * @param qualif
	   * @return
	   */
	  public boolean judgeQualificationsUndoPeopleWell(String idcard,String qualif);
	  
	  /**
	   * @Title: peopleBadBehaviorUndoSaveAndReport
	   * @Description: 人员不良行为登记撤销申请的保存，上报
	   * @Author wtj
	   * @DateTime 2020年7月13日 下午4:09:24
	   * @param ppi
	   * @return
	   */
	  public int peopleBadBehaviorUndoSaveAndReport(PersonalPoorInfoEntity ppi);
	  
	  /**
	   * @Title: peopleBadBehaviorUndoSaveAndReportUpdate
	   * @Description: 编辑人员良好行为的撤销申请
	   * @Author wtj
	   * @DateTime 2020年7月13日 下午5:59:49
	   * @param ppie
	   * @return
	   */
	  public int peopleBadBehaviorUndoSaveAndReportUpdate(PersonalPoorInfoEntity ppie);
	  
	  /**
	   * @Title: peopleBadBehaviorUndoApprove
	   * @Description: 人员不良行为撤销的审批
	   * @Author wtj
	   * @DateTime 2020年7月15日 上午9:56:43
	   * @param ppi
	   * @param reasonContent
	   * @return
	   */
	  public int peopleBadBehaviorUndoApprove(PersonalPoorInfoEntity ppi,String reasonContent);
	  
	  /**
	   * @Title: selectIGMPersonalPoorInfoByDateadd
	   * @Description: 根据身份证号码来查询出该人员撤销的，还没有经过一年的记录(人员不良行为)
	   * @Author wtj
	   * @DateTime 2020年7月15日 上午11:35:50
	   * @param idcard
	   * @return
	   */
	  public List<String> selectIGMPersonalPoorInfoByDateadd(String idcard);
	  
	  /**
	   * @Title: judgeQualificationsUndoPeoplePoor
	   * @Description: 判断该人员的资质的不良行为是否已经被撤销
	   * @Author wtj
	   * @DateTime 2020年7月15日 上午11:38:32
	   * @param idcard
	   * @param qualif
	   * @return
	   */
	  public boolean judgeQualificationsUndoPeoplePoor(String idcard,String qualif);
	  
	  /**
	   * @Title: selectIGMAuditRecordByGuidTopOne
	   * @Description: 根据dataGuid查询IGM_AuditRecord表最新的记录
	   * @Author wtj
	   * @DateTime 2020年7月16日 上午11:46:40
	   * @param dataGuid
	   * @return
	   */
	  public IGMAuditRecord selectIGMAuditRecordByGuidTopOne(String dataGuid);
	  
	  /**
	   * @Title: enterprisesGoodBehaviorRectSaveAndReport
	   * @Description: 保存，上报企业良好行为撤销整改
	   * @Author wtj
	   * @DateTime 2020年7月16日 下午3:23:56
	   * @param cwie
	   * @return
	   */
	  public int enterprisesGoodBehaviorRectSaveAndReport(CompanyWellInfoEntity cwie);
}
